package com.cbn.ibcp.jishiting.rms.service;

import com.cbn.ibcp.jishiting.rms.domain.ResBase;

import java.util.Date;
import java.util.List;

public interface IResBaseService {


    /**
     * 获取创建时总的注入数
     *
     * @param tenantCode
     * @param startTime
     * @param endTime
     * @param injectStatus
     * @return
     */
    Integer getTotalCreateInjectStatistic(String tenantCode, Date startTime, Date endTime, Integer injectStatus);


    /**
     * 获取创建时总的注入失败数
     *
     * @param tenantCode
     * @param startTime
     * @param endTime
     * @return
     */
    Integer getTotalCreateInjectFailureStatistic(String tenantCode, Date startTime, Date endTime);

    /**
     * 获取更新时总的注入数
     *
     * @param tenantCode
     * @param startTime
     * @param endTime
     * @param injectStatus
     * @return
     */
    Integer getTotalUpdateInjectStatistic(String tenantCode, Date startTime, Date endTime, Integer injectStatus);


    /**
     * 获取更新时总的注入失败数
     *
     * @param tenantCode
     * @param startTime
     * @param endTime
     * @return
     */
    Integer getTotalUpdateInjectFailureStatistic(String tenantCode, Date startTime, Date endTime);


    /**
     * @param episodeIdList
     * @return
     */
    List<ResBase> getListByIdList(List<Long> episodeIdList);


    /**
     * @param episodeIdList
     * @return
     */
    List<ResBase> getListByIdListAndResTypeList(List<Long> episodeIdList, List<Integer> resTypeList);

    /**
     * 获取省网信息
     *
     * @param tenantCode
     * @param orgCode
     * @param id
     * @return
     */
    ResBase getOneByIdAndResType(String tenantCode, String orgCode, Long id, Integer resType);


    /**
     * 获取省网专辑信息
     *
     * @param tenantCode
     * @param orgCode
     * @param id
     * @return
     */
    ResBase getOneAlbumById(String tenantCode, String orgCode, Long id);
}
